
// 在一个作用域内，同一个名字的常量，只能声明一次，否则编译报错。
const TEMP : u32 = 1000;

fn print_temp() {
    println!("TEMP in print_temp: {}", TEMP);
}

fn main() {
    println!("Variables");
    print_temp();
    // 这里会打印 2000；在TEMP声明之前，也可以访问常量
    println!("TEMP: {}", TEMP);
    // 在一个作用域的任何位置声明常量， 在该作用域内可以被随意访问。无论声明前、声明后。
    const TEMP : u32 = 2000;
    // 这里也会打印 2000
    println!("TEMP again: {}", TEMP);
    let mut i:i64 = (35.3 - 12 as f64) as i64;
    println!("number: {}", i);

    i = 64;

    println!("i: {}", i);

    // RUST标量类型： 整数类型、浮点类型、布尔类型、字符类型
    let num : i32 = 10;
    let num_f : f64 = 100.987;
    let v_bool : bool = true;
    let v_char : char = 'a';

    println!("num: {}", num);
    println!("num_f: {}", num_f);
    println!("v_bool: {}", v_bool);
    println!("v_char: {}", v_char);
}
